package cn.whitecao.agent.server.service;

import cn.whitecao.agent.server.model.CollectDataModel;

import java.util.Collection;
import java.util.List;
import java.util.stream.Collector;

/**
 * 数据中心接口(屏蔽db细节) 用于存储,查询,分析
 * 实现类中的数据库可以是mysql(开发使用),mongo,influx(可以去搭一个,物联网也可以用)
 * @author : BashfulHuang
 **/
public interface DataCenterService {

    /**
     * 单条保存
     * @param collectDataModel 收集的数据
     */
    void save(CollectDataModel collectDataModel);

    /**
     * 批量保存数据
     * @param collectDataModels 收集的数据
     */
    void batchSave(Collection<CollectDataModel> collectDataModels);


    /**
     * 查询
     * @param type null不指定
     * @param startTime 开始时间戳
     * @param endTime 结束时间戳
     * @param traceId traceId
     * @return list
     */
    List<CollectDataModel> query(Integer type,Long startTime,Long endTime,String traceId);



}
